Memories typically employ arrays of analog memory cells for storing data. Each analog memory cell can store an analog value, such as an electrical charge or voltage, that represents the data stored in a corresponding cell. Each analog memory cell can hold a certain amount of electrical charge. A range of possible analog values is typically divided into intervals each corresponding to one or more data bit values (e.g., two bits, three bits or four bits). Generally, data is written to an analog memory cell by writing a nominal analog value that corresponds to a desired bit or bits.
Commonly, two types of memory devices are used: single-level cell (SLC) flash memory and multi-level cell (MLC) flash memory. SLC flash memory can store a single bit of information in each memory cell, whereas MLC flash memory can store two or more bits per memory cell. While programming for SLC flash memory is generally simple (e.g., as only one bit is placed in a cell), its storage capacity is generally smaller than MLC flash memory and thus less desirable for applications that demand large storage capacity.
During fabrication of memory cells, errors or defects in a small portion of the cells are expected. Manufacturers of memory devices can employ validation processes that detect bit line errors. Based on the validation process, a signature or information identifying usable bits of a memory device can be placed into respective bits to support identification of usable bit lines. Upon integration of the memory device, a system or controller can scan the memory device for the signatures or information identifying usable bit lines and employ a mechanism to re-route or bypass defective bit lines.